1. Field
This invention relates generally to data processing, and more specifically to code coverage software testing.
2. Related Art
Code coverage is a measure of how well a software program is tested. One form of code coverage is statement, or line, coverage, which determines how many times, if any, each program memory location was accessed during testing. Code coverage can also identify which lines of code, if any, were not accessed during testing. Known testing methods for line coverage are expensive, complex or/and require a large amount of user, or human, interaction.
Some known methods of testing for line coverage provide a specific “bank” to retain the statistical data obtained from the testing. Such a bank disadvantageously uses memory.
Another known method of testing for line coverage uses instruments connected to selected locations within a processor during the execution of code on the processor such that each selected locations becomes an individual test check-point. Then, this known method generates a signature using the test check-points. This known method also needs additional external equipment such as an oscilloscope and a digital counter coupled to such instruments, and needs software to control such instruments and the additional external equipment, thereby increasing cost and complexity of this known method.
Known apparatus and methods are particularly disadvantageous for testing a low-cost microcontroller used in an embedded system and/or for testing a quick time-to-market microcontroller.